#归并排序
import numpy as np
def merge_sort_method(arr,L,R):
    if(L==R):
        return
    #找到中间值
    mid=int((L+R)/2)
    #接着排序
    #左边排序
    merge_sort_method(arr,L,mid)
    #右边排序
    merge_sort_method(arr,mid+1,R)
    #合并
    merge(arr,L,R,mid)
    # print(arr)
    return arr

# 1，6,7,8       4,5,8,7
#
# L=0 R=7


# merge(a,0,5,2)
# L=0,R=5,mid=2 t=3
#合并函数
def merge(arr,L,R,mid):
    t=mid+1
    L1=L
    #创建一段中间数组，用于储存中间变量
    mid_arr=[]
    #当左右两端都没有结束的时候
    while(L<=mid and t<=R):
        if(arr[L]>arr[t]):
            mid_arr.append(arr[t])

            t=t+1
        else:
            mid_arr.append(arr[L])

            L=L+1

    #有一段结束，把另外一段放到临时变量中
    if(L>mid):
        while(t<=R):
            mid_arr.append(arr[t])

            t=t+1
    if(t>R):
        while(L<=mid):
            mid_arr.append(arr[L])

            L=L+1


    for i in range(len(mid_arr)):

        arr[L1+i]=mid_arr[i]



def make_some_numbers(len,number):
    a=[]
    for i in range(len):

        a.append(int(np.random.randint(1,number)))
    return a

def compare_two_array(a,b):
    if(a==None or b==None or len(a)!=len(b)):
        return False

    for i in range(len(a)):
        if(a[i]!=b[i]):
            return False

    return True

Flage=True
for i in range(500):

    a1=make_some_numbers(9,20)
    a2=merge_sort_method(a1,0,len(a1)-1)
    a3=sorted(a1)
    boolen=compare_two_array(a1,a3)
    if(boolen==False):
        Flage=False
        break

if(Flage):
    print("NO BUG")
else:
    print("cnm")